home *** CD-ROM | disk | FTP | other *** search
- This file describes recent user-visible changes in groff. Bug fixes
- are not described. There are more details in the man pages.
-
- VERSION 1.10
- ============
-
- The directory where data files are installed has been changed from
- /usr/local/lib/groff to /usr/local/share/groff to comply with the
- latest GNU coding standards.
-
- By default groff programs with Unix equivalents are installed with a
- "g" prefix unless there is an existing (non-groff) troff installation.
-
- A new approach is used to make system macro packages available to
- groff. Instead of simply including /usr/lib/tmac in the list of
- directories searched by groff, the installation process creates for
- each system macro package a wrapper macro package in the groff macro
- directory that references the system macro package. The groff macro
- packages are now installed with a leading "g" prefix if there is a
- system version of the same macro package, and otherwise without the
- "g" prefix, with the exception that the groff version of -me which is
- always installed as -me.
-
- There is a new device, lj4, for the HP LaserJet 4 (and PCL5
- compatibles).
-
- Groff
- -----
-
- groff has a -S option that prevents the use of unsafe features in pic
- and troff. This uses a new -S option of pic and the -msafer macros
- for troff.
-
- Troff
- -----
-
- The `blm' request specifies a macro to be invoked when a blank line is
- encountered.
-
- Pic
- ---
-
- A -S (safer) option disables the sh command.
-
- Grops
- -----
-
- The -m option enables manual feed.
-
- VERSION 1.09
- ============
-
- \(rn will now produce a character that has the traditional metrics,
- and will form corners with \(ul and \(br. This means that it will not
- align properly with \(sr. Instead there's a new character
- \[radicalex] which aligns with \(sr; this is used by eqn for doing
- square roots.
-
- Troff
- -----
-
- The `pso' request allows you to read from the standard output of a
- command.
-
- Grops
- -----
-
- The PSPIC macro has options to allow the horizontal alignment of the
- graphic to be specified.
-
- VERSION 1.08
- ============
-
- Troff
- -----
-
- The escape sequence \V[xxx] will interpolate the value of the
- environment variable xxx.
-
- Tbl
- ---
-
- The decimalpoint option can be used to specify the character to be
- recognized as the decimal point character in place of the default
- period.
-
- VERSION 1.07
- ============
-
- Groff
- -----
-
- The environment variable GROFF_COMMAND_PREFIX can be used to control
- whether groff looks for `gtroff' or `troff' (similarily for the
- preprocessors.)
-
- Troff
- -----
-
- Multilingual hyphenation is supported by new `hpf' and `hla' requests,
- and by a `\n[.hla]' number register. The -H option has been removed.
- Files of hyphenation patterns can have comments.
-
- When a font cannot be found, troff gives a warning (of type `font',
- enabled by default) instead of an error.
-
- There's a new request `trnt' that's like `tr' except that it doesn't
- apply to text transparently throughput into a diversion with \!.
-
- Tbl
- ---
-
- There is a `nokeep' option which tells tbl not to use diversions to
- try to keep the table on one page.
-
- Eqn
- ---
-
- Setting the parameter `nroff' to a non-zero value causes `ndefine' to
- behave like `define' and `tdefine' to be ignored. This is done by
- eqnrc when the current device is ascii or latin1. There's a `neqn'
- script that just does `eqn -Tascii'.
-
- Grotty
- ------
-
- grotty uses whatever page length was specified using the `pl' request
- rather than using the paperlength command in the DESC file. The
- paperwidth command in the DESC file is also ignored.
-
- VERSION 1.06
- ============
-
- The programs in groff that have Unix counterparts can now be installed
- without a leading `g' prefix. See the `g' variable in the Makefile.
-
- The g?nroff script simulates the nroff command using groff.
-
- New special characters \(+h, \(+f, \(+p, \(Fn, \(Bq, \(bq, \(aq, \(lz,
- \(an. See groff_char(7).
-
- ^L is now a legal input character.
-
- Groff
- -----
-
- The Xps pseudo-device has disappeared. Instead there is a new -X
- option that tells groff to use gxditview instead of the usual
- postprocessor. (So instead of -TXps, use -XTps or just -X if your
- default device is ps.)
-
- The postprocessor to be used for a particular device is now specified
- by a `postpro' command in the DESC file rather than being compiled
- into groff. Similarly the command to be used for printing (with the
- -l option) is now specified by a `print' command in the DESC file.
-
- The groff command no longer specifies eqnchar as an input file for
- eqn. Instead eqn automatically loads a file `eqnrc'. The groff
- command no longer passes the -D option to eqn. Instead eqnrc sets the
- draw_lines parameter.
-
- The groff command no longer tells troff to load a device-specific
- macro file. This is handled instead by the `troffrc' file, which is
- always loaded by troff.
-
- The shell script version of groff has been removed.
-
- Troff
- -----
-
- The `rchar' request removes a character definition established with `char'.
-
- Compatibility mode is disabled and the escape character is set to `\'
- while a character definition is being processed.
-
- The `\#' escape sequence is like `\"' except that the terminating
- newline is ignored.
-
- The `shc' request tells troff which character to insert (instead of
- the default \(hy) when a word is hyphenated at a line break.
-
- A font name of 0 (zero) in the DESC file will cause no font to be
- mounted on the corresponding font position. This is useful for
- arranging that special fonts are mounted on positions on which users
- are not likely explicitly to mount fonts. All groff devices now avoid
- initially mounting fonts on positions 5-9.
-
- The `do' request allows a single request or macro to be interpreted
- with compatibility mode disabled.
-
- troff automatically loads a file `troffrc' before any other input file.
- This can be prevented with the -R option. This file is responsible
- for loading the device-specific macros.
-
- Pic
- ---
-
- The -x option has been removed and a -n option has been added. By
- default, pic now assumes that the postprocessor supports groff
- extensions. The -n option tells pic to generate output that works
- with ditroff drivers. The -z option now applies only to TeX mode.
-
- The -p option has been removed. Instead if the -n option is not
- specified, pic generates output that uses \X'ps: ...' if the \n(0p
- register is non-zero and tmac.ps sets this register to 1.
-
- In places where you could 1st or 5th you can now say `i'th or `i+1'th
- (the quotes are required).
-
- Eqn
- ---
-
- Eqn now automatically reads a file `eqnrc' from the macro directory.
- This performs the same role that the eqnchar files used to. This can
- be prevented by the -R option.
-
- Setting the draw_lines parameter to a non-zero value causes lines to
- be drawn using \D rather than \l. The -D option is now obsolete.
-
- `uparrow', `downarrow' and `updownarrow' can be used with `left' and
- `right'.
-
- The amount of extra space added before and after lines containing
- equations can be controlled using the `body_height' and `body_depth'
- parameters.
-
- Grops
- -----
-
- Font description files have been regenerated from newer AFM files.
- You can get access to the additional characters present in the text
- fonts in newer PostScript printers by using -mpsnew.
-
- The default value of the -b option is specified by a `broken' command
- in the DESC file.
-
- With the -g option, grops will generate PostScript code that guesses
- the page height. This allows documents to be printed on both letter
- (8.5x11) and A4 paper without change.
-
- Grodvi
- ------
-
- ISO Latin-1 characters are available with -Tdvi. Format groff_char(7)
- with groff -Tdvi for more information.
-
- Grotty
- ------
-
- The -mtty-char macros contain additional character definitions for
- use with grotty.
-
- Macros
- ------
-
- In previous releases the groff -me macros treated the $r and $R number
- registers in a way that was incompatible with the BSD -me macros. The
- reason for this was that the approach used by the BSD -me macros does
- not work with low resolution devices such as -TX75 and -TX100.
- However, this caused problems with existing -me documents. In this
- release, the vertical spacing is controlled by the $v and $V registers
- which have the same meaning as $r and $R in earlier groff releases.
- In addition, if the $r or $R register is set to a value that would be
- correct for for the BSD -me macros and a low resolution device is not
- being used, then an appropriate value for the $v or $V register will
- be derived from the $r or $R register.
-
- The groff -me macros work with -C and (I think) with Unix troff.
-
- For backward compatibility with BSD -me, the \*{ and \*} strings are
- also available as \*[ and \*]. Of course, \*[ will only be usable
- with -C.
-
- The \*T string has been deleted. Use \*(Tm instead.
-
- Xditview
- --------
-
- The `n', Space and Return keys are bound to the Next Page action. The
- `p', BackSpace and Delete keys are bound to the Previous Page action.
- The `q' key is bound to the Quit action.
-
- The `r' key is bound to a rerasterize action that reruns groff, and
- redisplays the current page.
-
- VERSION 1.05
- ============
-
- Pic
- ---
-
- There is a alternative assignment operator `:=' which interacts
- differently with blocks.
-
- There is a new command `command', which allows the values of variables
- to be passed through to troff or TeX.
-
- The `print' command now accepts multiple arguments.
-
- String comparison expressions (using `==' or `!=') are allowed in more
- contexts.
-
- Grotty
- ------
-
- Horizontal and vertical lines drawn with \D'l ...' will be rendered
- using -, | and + characters. This is intended to give reasonable
- results with boxed tables. It won't work well with pic.
-
- Macros
- ------
-
- The -mdoc macros have been upgraded to the version in the second
- Berkeley networking release. This version is not completely
- compatible with earlier versions; the old version is still available
- as -mdoc.old. The grog script has been enhanced so that it can
- usually determine whether a document requires the old or new versions.
-
- With -TX75, -TX100 and -TXps, the PSPIC macro will produce a box
- around where the picture would appear with -Tps.
-
- VERSION 1.04
- ============
-
- An implementation of the -mm macros is included.
-
- The directory in which temporary files are created can be controlled
- by setting the GROFF_TMPDIR or TMPDIR environment variables.
-
- Pic
- ---
-
- Some MS-DOS support (see pic/make-dos-dist).
-
- Grops
- -----
-
- There are two new \X commands (\X'ps: invis' and \X'ps: endinvis')
- which make it possible to have substitute characters that are
- displayed when previewing with -TXps but ignored when printing with
- grops.
-
- Xditview
- --------
-
- Support for scalable fonts.
-
- VERSION 1.03
- ============
-
- No changes other than bug fixes.
-
- VERSION 1.02
- ============
-
- There is an implementation of refer and associated programs. groff -R
- preprocesses with grefer; no mechanism is provided for passing
- arguments to grefer because most grefer options have equivalent
- commands which can be included in the file. grog also supports refer.
-
- There is an alternative perl implementation of the grog script.
-
- The code field in lines in the charset section of font description
- files is now allowed to contain an arbitrary integer (previously it
- was required to lie between 0 and 255). Currently grops and grodvi
- use only the low order 8 bits of the value. Grodvi will use the
- complete value; however, this is unlikely to be useful with
- traditional TeX tools (.tfm files only allow 8 bit character codes.)
-
- Left and right double quotes can be obtained with \(lq and \(rq
- respectively.
-
- There is a new program called pfbtops which translates PostScript
- fonts in pfb format to ASCII.
-
- A slightly modified version of the Berkeley tmac.doc is included.
-
- Troff
- -----
-
- In long escape names the closing ] is now required to be at the same
- input level as the opening [.
-
- The \A'S' escape sequence returns 1 or 0 according as S is or is not
- suitable for use as a name.
-
- \~ produces an unbreakable space that can be stretched when the line
- is adjusted.
-
- The `mso' request is like the `so' request except that it searches for
- the file in the same directories in which tmac.X is searched for when
- the -mX option is given.
-
- The escape sequence `\R' is similar to the `nr' request.
-
- Eqn
- ---
-
- A new `special' primitive allows you to add new types of unary
- constructs by writing a troff macro.
-
- Pic
- ---
-
- The implementation no longer uses gperf.
-
- Grops
- -----
-
- The compile-time -DBROKEN_SPOOLER option has been replaced by a
- BROKEN_SPOOLER_FLAGS option. This allows more precise control over
- how grops should workaround broken spoolers and previewers. There is
- a new -b option that can change this at run-time.
-
- Grops now generates PostScript that complies with version 3.0 of the
- Document Structuring Convention.
-
- The resource management component of grops (the part that deals with
- imported documents and downloadable fonts) has been rewritten and now
- supports version 3.0 of the Document Structuring Conventions. The
- %%DocumentFonts comment is no longer supported; you must use the
- %%Document{Needed,Supplied}{Fonts,Resources} comments instead
- (or as well.)
-
- tmac.psatk contains some macros that support the mechanism used by the
- Andrew Toolkit for including PostScript graphics in troff documents.
-
- Xditview
- --------
-
- Parts of xditview have been rewritten so that it can be used with the
- output of gtroff -Tps. groff -TXps will run gtroff -Tps with
- gxditview.
-
- There is a new menu entry `Print' which brings up a dialog box for
- specifying a command with which the file being previewed should be
- printed.
-
- Xditview now uses imake.
-
- VERSION 1.01
- ============
-
- The groff command now understands the gtroff `-a' and `-i' options.
-
- With the `m' and `n' scale indicators, the scale factor is rounded
- horizontally before being applied. This makes (almost) no difference
- for devices with `hor' equal to 1, but it makes groff with -Tascii or
- -Tlatin1 behave more like nroff in its treatment of these scale
- indicators. Accordingly tmac.tty now calls the `nroff' request so
- that the `n' condition will be true.
-
- The device-specific macros (tmac.ps, tmac.dvi, tmac.tty and tmac.X)
- have been made to work at least somewhat with -C. In particular the
- special characters defined by these macros now work with -C.
-
- groff -Tdvi -p will now pass pic the -x flag; this will enable filling
- of arrowheads and boxes, provided that your dvi driver supports the
- latest version of the tpic specials.
-
- Eqn
- ---
-
- There is a new `-N' option that tells eqn not to allow newlines in
- delimiters. This allows eqn to recover better from missing closing
- delimiters. The groff command will pass on a `-N' option to eqn.
-
- Grops
- -----
-
- You can now use psfig with grops. See the file ps/psfig.diff. I do
- not recommend using psfig for new documents.
-
- The command \X'ps: file F' is similar to \X'ps: exec ...' except that
- the PostScript code is read from the file F instead of being contained
- within the \X command. This was added to support psfig.
-
- Grodvi
- ------
-
- There are font files HB and HI corresponding to cmsssbx10 and cmssi10.
-
- Macros
- ------
-
- The groff -me macros now work with the -C option. As a result, they
- may also work with Unix nroff/troff.
-
- In -me, the $r and $R number registers now contain the line spacing as
- a percentage of the pointsize expressed in units (normally about 120).
- The previous definition was useless with low resolution devices such
- as X75 and X100.
-
- VERSION 1.00
- ============
-
- A -ms-like macro-package is now included.
-
- The name for the Icelandic lowercase eth character has been changed
- from \(-d to \(Sd.
-
- Troff
- -----
-
- There is a new request `nroff', which makes the `n' built-in condition
- true and the `t' built-in condition false; also a new request `troff'
- which undoes the effect of the `nroff' request. This is intended only
- for backward compatibility: it is usually better to test \n(.H or
- \n(.V or to use the `c' built-in condition.
-
- The \R escape sequence has been deleted. Use \E instead.
-
- There are `break' and `continue' requests for use with the `while'
- request.
-
- There is a request `hym' that can ensure that when the current
- adjustment mode is not `b' a line will not be hyphenated if it is no
- more than a given amount short, and a request `hys' that can ensure
- that when the current adjustment mode is `b' a line will not be
- hyphenated if it can be justified by adding no more than a given
- amount of extra space to each word space.
-
- There is a request `rj' similar to `ce' that right justifies lines.
-
- A warning of type `space' will be given when a call is made to an
- undefined request or macro with a name longer than two characters, and
- the first two characters of the name make a name that is defined.
- This is intended to find places where a space has been omitted been a
- request or macro and its argument. This type of warning is enabled by
- default.
-
- Pic
- ---
-
- A comma is permitted between the arguments to the `reset' command.
-
- For use with TeX, there is a new `-c' option that makes gpic treat
- lines beginning with `.' in a way that is more compatible with tpic
- (but ugly).
-
- Eqn
- ---
-
- It is no longer necessary to add `space 0' at the beginning of
- complicated equations inside pictures.
-
- `prime' is now treated as an ordinary character, as in Unix eqn. The
- previous behaviour of `prime' as an operator can now be obtained using
- `opprime'.
-
- Xditview
- --------
-
- There are two new devices X75-12 and X100-12 which are the same as X75
- and X100 except that they are optimized for documents that use mostly
- 12 point text.
-
- VERSION 0.6
- ===========
-
- The installation process has been refined to make it easy for you to
- share groff with someone who has the same type of machine as you but
- does not have a C++ compiler. See the end of the INSTALL file for
- details.
-
- There is a man page for the tfmtodit program which explains how to use
- your own fonts with groff -Tdvi.
-
- There is a man page for afmtodit which explains how to use your own
- PostScript fonts with groff -Tps.
-
- The \N escape sequence is now fully supported. It can now be used to
- access any character in a font by its output code, even if it doesn't
- have a groff name. This is made possible by a convention in the font
- files that a character name of `---' refers to an unnamed character.
- The drivers now all support the `N' command required for this. The font
- description files have been updated to include unnamed characters.
-
- The `x' command in font description files has been removed: instead
- any unknown commands are automatically made available to the drivers.
- If you constructed your own font files with an earlier version of
- tfmtodit or afmtodit, you must construct them again using the current
- version.
-
- Characters between 0200 and 0237 octal are no longer legal input
- characters. Note that these are not used in ISO 8859.
-
- A command called `grog' has been added, similar to the `doctype'
- command described in Kernighan and Pike.
-
- Groff
- -----
-
- The groff command has some new options: -V prints the pipeline
- instead of executing it; -P passes an argument to the postprocessor,
- -L passes an argument to the spooler.
-
- There is a C++ implementation of the groff command. This handles some
- things slightly better than the shell script. In particular, it can
- correctly handle arguments containing characters that have a special
- meaning to the shell; it can give an error message when child
- processes other than the last in the pipeline terminate abnormally;
- its exit status can take account of the exit statuses of all its child
- processes; it is a little more efficient; when geqn is used, it
- searches for the eqnchar file in the same way that font metric files
- are searched for, rather than expecting to find it in one particular
- directory.
-
- Gtroff
- ------
-
- There is font translation feature: For example, you can tell gtroff to
- use font `HR' whenever font `H' is requested with the line
- .ftr H HR
- This would be useful for a document that uses `H' to refer to
- Helvetica.
-
- There are some new number registers: `.kern' contains the current kern
- mode, `.lg' the current ligature mode, `.x' the major version number,
- `.y' the minor version number, `.ce' the number of lines to be
- centered in the current environment, `.trunc' the amount of vertical
- space truncated by the most recently sprung vertical position trap,
- `.ne' the amount of vertical space needed in the last `ne' request
- that caused a vertical position trap to be sprung.
-
- The `cf' request now behaves sensibly in a diversion. If used in a
- diversion, it will now arrange for the file to be copied to the output
- when the diversion is reread.
-
- There is a new request `trf' (transparent file) similar to `cf', but
- more like `\!'.
-
- There is a new escape sequence `\Y[xxx]', roughly equivalent to
- `\X'\*[xxx]'', except that the contents of string or macro xxx are not
- interpreted, and xxx may contain newlines. This requires an output
- format extension; the drivers have been modified to understand this.
- Grops has also been modified to cope with newlines in the arguments to
- \X commands; grops has a new \X command mdef, which is like def except
- that it has a first argument giving the number of definitions.
-
- There is a new warning category `escape' which warns about unknown
- escape sequences.
-
- The `fp' request now takes an optional third argument giving the external
- name of the font.
-
- The `\_' character is now automatically translated to `\(ul' as in troff.
-
- The environment variable `GROFF_HYPHEN' gives the name of the file
- containing the hyphenation patterns.
-
- There is a `\C'xxx'' escape sequence equivalent to `\[xxx]'.
-
- Characters ", ', ), ], *, \(dg are now initially transparent for the purposes
- of end of sentence recognition.
-
- There is an anti-recursion feature in the `char' request, so you can
- say `.char \(bu \s+2\(bu\s-2'.
-
- The limit on the number of font positions has been removed.
- Accordingly `\n[.fp]' never returns 0.
-
- The restriction on the number of numbered environments has been removed.
-
- There is a new escape sequence `\E' that makes it possible to
- guarantee that an escape sequence won't get interpreted in copy-mode.
- The `\R' escape sequence is accordingly now deprecated.
-
- Gpic
- ----
-
- Arguments of the form `X anything X' (in the `copy thru', `sh', `for',
- `if' and `define' constructs) can now be of the form `{ anything }'.
-
- If the `linethick' variable is negative (as it now is initially),
- lines will be drawn with a thickness proportional to the current point
- size.
-
- The `rand' function now takes no arguments and returns a number between
- 0 and 1. The old syntax is still supported.
-
- `^' can be used in expressions to indicate exponentiation.
-
- In the `for' construct the argument to the by clause can be prefixed
- by `*' to indicate that the increment is multiplicative.
-
- A bare expression may be used as an attribute. If the current
- direction is `dir', then an attribute `expr' is equivalent to
- `dir expr'
-
- There is a `sprintf' construct that allows numbers to be formatted and used
- wherever a quoted string can be used.
-
- The height of a text object without an explicit height attribute is
- the number of text strings associated with the object times the value
- of the `textht' variable.
-
- The maximum height and width of a picture is controlled by the
- `maxpswid' and `maxpsht' variables.
-
- Gtbl
- ----
-
- Gtbl can now handle gracefully the situation where the `ce' request
- has been applied to a table.
-
- Geqn
- ----
-
- The `ifdef' primitive has been generalized.
-
- A tilde accent can be put underneath a box using `utilde'. This
- defined using a general `uaccent' primitive.
-
- Grops
- -----
-
- There is a new PostScript font downloading scheme which handles font
- downloading for imported illustrations. Previously, the name of the
- file containing the font was given in the `x download' line in the
- groff font metric file. Now, there is a `download' file which says
- for each PostScript font name which file contains that font. Grops
- can also now handle inter-font dependencies, where one downloadable
- font depends on some other (possibly downloadable) font.
-
- The `T' font has been removed. The characters it used to provide are
- now provided by `char' definitions in tmac.ps. TSymbol.ps has also
- been removed, and the tweaks it provided are now provided by `char'
- definitions.
-